package com.keke.beauty.auth.activity.controller;

import java.util.Date;

import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.keke.beauty.auth.activity.entity.TabActivity;
import com.keke.beauty.auth.activity.service.TabActivityService;
import com.keke.beauty.sys.user.entity.SysUser;
import com.keke.beauty.utils.pojo.Result;
import com.keke.beauty.utils.pojo.TableInfo;
import com.keke.beauty.utils.tools.ResultUtil;
/**
 * 活动管理控制层
 * @author 
 * @Data 2019年02月22日 15:37:34
 */
@RestController
@RequestMapping("/activity")
public class TabActivityController {
    
    @Autowired
    private TabActivityService service;
    
    /**
     * 活动管理列表
     * @author 
     * @Data 2019年02月22日 15:37:34
     * @Date 2018年1月15日 下午2:29:08
     * @param tableInfo
     * @return
     * @throws Exception 
     */
    @GetMapping
    public Result getList(TableInfo<TabActivity> tableInfo){
        PageHelper.startPage(tableInfo.getPageNum(), tableInfo.getPageSize());
        PageHelper.orderBy("create_time desc");
        PageInfo<TabActivity> page = new PageInfo<TabActivity>(service.getList(tableInfo.getSearch()));
        return ResultUtil.successTable(page);
    }
    
    /**
     * 保存活动管理
     * @author 
     * @Data 2019年02月22日 15:37:34
     * @param activity
     * @return
     */
    @PostMapping
    public Result save(TabActivity activity){
        SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
        if(StringUtils.isEmpty(activity.getId())){
            activity.setCreateTime(new Date());
//            activity.setCreater(user.getId());
            return ResultUtil.success(service.insert(activity));
        } else {
            activity.setModifyTime(new Date());
            activity.setModifer(user.getId());
            return ResultUtil.success(service.update(activity));
        }
    }
    
    /**
     * 删除活动管理
     * @author 
     * @Data 2019年02月22日 15:37:34
     * @param id
     * @return
     */
    @DeleteMapping
    public Result delete(@RequestParam int id){
        TabActivity activity = new TabActivity();
        activity.setId(id);
        activity.setDel((short)1);
		
        service.update(activity);
        return ResultUtil.success();
    }

    /**
     * 查看活动管理
     * @author 
     * @Data 2019年02月22日 15:37:34
     * @param id
     * @return
     */
    @GetMapping("/{id}")
    public Result findById(@PathVariable int id) {
        return ResultUtil.success(service.findByPrimaryKey(id));
    }
	
    /**
     * 查看活动管理
     * @author 
     * @Data 2019年02月22日 15:37:34
     * @param id
     * @return
     */
    @GetMapping("now/{id}")
    public Result findByUserId(@PathVariable int id) {
        return ResultUtil.success(service.findByUserId(id));
    }

}